/*
 * DragSourceImpl.h
 *
 *  Created on: 2012-9-2
 *      Author: yangentao@gmail.com
 */

#pragma once;
#include <windows.h>
#include <ole2.h>

namespace yet{
IDropSource* CreateDropSource();

class DropSourceImpl: public IDropSource {
public:
	DropSourceImpl();
	virtual ~DropSourceImpl();
public:
	ULONG __stdcall AddRef(void);
	ULONG __stdcall Release(void);
	HRESULT __stdcall QueryInterface(REFIID riid, void **ppv);
public:
	HRESULT __stdcall QueryContinueDrag( BOOL fEsc, DWORD grfKeyState);
	HRESULT __stdcall GiveFeedback( DWORD dwEffect);
private:
	volatile LONG refCount;
}
;
}
